package com.gcu.drivingschool.domain.po;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.*;

/**
 * 教练实体
 * @author zzr
 * @create 2024-05-08-20:18
 */
@Schema(description = "教练实体")
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("coach")
public class Coach extends BaseUser{
    /**
     * 姓名(最多20个字符)
     */
    @Schema(description = "姓名(最多20个字符)")
    @NotBlank
    @Size(max = 20,message = "最多20个字符")
    private String name;

    /**
     * 身份证号(18位,前17位数字,最后一位可以是数字或者大写字母"X"的字符)
     */
    @Schema(description = "身份证号(18位,前17位数字,最后一位可以是数字或者大写字母X)")
    @Pattern(regexp = "^\\d{17}[\\dXx]$",message = "18位,前17位数字,最后一位可以是数字或者大写字母X")
    @NotBlank
    private String idNumber;

    /**
     * 年龄(1~200之间数字)
     */
    @Schema(description = "年龄(1~200之间数字)")
    @Min(value = 1,message = "最小1")
    @Max(value = 200,message = "最大200")
    @NotNull
    private Integer age;

    /**
     * 性别(最多1个字符)
     */
    @Schema(description = "性别(最多1个字符)")
    @Size(max = 1,message = "最多一个字符")
    @NotBlank
    private String sex;

    /**
     * 照片
     */
    @Schema(description = "照片")
    private String photo;

    /**
     * 类型（最多10个字符）
     */
    @Schema(description = "类型（手动档/自动档）")
    @Size(max = 10,message = "最多10个字符")
    private String type;

    /**
     * 车牌号（最多20个字符）
     */
    @Schema(description = "车牌号")
    @Size(max = 20,message = "最多20个字符")
    private String carNumber;

    /**
     * 车型（最多20个字符）
     */
    @Schema(description = "车型")
    @Size(max = 20,message = "最多20个字符")
    private String carType;
}
